(function () {
    'use strict';

    // 检查本地存储中是否有认证令牌
    const authToken = localStorage.getItem('web_auth_token');
    if (!authToken) {
        // 如果没有认证令牌，跳转到指定URL
        window.location.href = 'https://sd.ruiinsurance.com/web/#/pages/proposal/proposalJump?proposalId=1960229837138673664';
    }


    // 2. 确保axios加载
    const setupInterceptor = () => {
        if (typeof axios === 'undefined') {
            console.warn('axios未定义');
            return;
        }

        // 保存原始方法
        const originalGet = axios.get;
        const originalPost = axios.post;
        const originalRequest = axios.request;

        // 重写get方法
        axios.get = function (url, config = {}) {
            console.log('🟢 axios.get被调用', url);

            config.headers = config.headers || {};
            config.headers.Authorization = `${authToken}`;
            console.log('✅ 已添加Authorization头');

            return originalGet.call(this, url, config);
        };

        // 重写post方法
        axios.post = function (url, data, config = {}) {
            console.log('🟢 axios.post被调用', url);

            config.headers = config.headers || {};
            config.headers.Authorization = `${authToken}`;

            return originalPost.call(this, url, data, config);
        };

        // 重写request方法（备用）
        axios.request = function (config) {
            console.log('🟢 axios.request被调用', config.url);

            config.headers = config.headers || {};
            config.headers.Authorization = `${authToken}`;
            return originalRequest.call(this, config);
        };

        console.log('✅ 所有axios方法已重写');
    };

    // 启动设置
    setupInterceptor();
})();
// 检查并设置axios baseURL
if (typeof axios !== 'undefined') {
    axios.defaults.baseURL = '/sddashboard/yx';
    axios.defaults.maxRedirects = 0; // 禁止自动重定向

    // 添加响应拦截器
    axios.interceptors.response.use(
        function(response) {
            // 正常响应，直接返回
            // 正常响应，打印状态码和响应头
            console.log('响应成功 - Status:', response.status);
            console.log('响应头:', response.headers);
            console.log('响应数据:', response.data);
            return response;
        },
        function(error) {
            // 错误处理
            if (error.response) {
                const { status, headers } = error.response;

                // token过期，跳转登录页
                if (status === 401) {
                    // 获取重定向URL，从Location头获取
                    const redirectUrl = headers.location; // 默认跳转到登录页
                    // 执行页面跳转
                    window.location.href = redirectUrl;

                    // 返回一个pending状态的Promise，阻止后续处理
                    return new Promise(() => {});
                }
            }

            return Promise.reject(error);
        }
    );
}

